package cn.udinghuo.model.archives.option;

import com.fasterxml.jackson.annotation.JsonSetter;

import org.springframework.util.Assert;
import javax.persistence.Entity;
import javax.persistence.Lob;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.persistence.Column;
import java.util.Map;
import java.util.HashMap;
import cn.udinghuo.core.domain.entity.BaseAuditTenant;	
import cn.udinghuo.model.archives.option.FunctionOptionBase;	
import cn.udinghuo.core.domain.entity.Comment;
import cn.udinghuo.core.domain.entity.ita.CacheKey;
import cn.udinghuo.core.domain.entity.ita.NotIdCache;

/**
 * @author xufla
 *	企业业务选项设置
 */
@Entity
@NotIdCache
@Table(name="corprationfunctionoption")
public class CorprationFunctionOption extends BaseAuditTenant<Long>  {

	private static final long serialVersionUID = -335544321L;
	/**
	* 选项编码code
	*/
	@Comment(value="选项编码")
	@Column(name="cCode", length = 100)
	private String code;
	/**
	* 选项值value
	*/
	@Comment(value="选项值")
	@Column(name="cValue", length = 50)
	private String value;
	/**
	* 是否启用enable
	*/
	@Comment(value="是否启用")
	@Column(name="bEnable")
	private Boolean enable;
	/**
	* 保存前新值newValue
	*/
	@Comment(value="保存前新值")
	@Transient
	private String newValue;
	/**
	* 所属父类的idfunctionOptionId
	*/
	@Comment(value="所属父类的id")
	@Column(name="iFunOptionBaseId")
	private Long functionOptionId;
	@CacheKey
	public String getCode() {
		return this.code;
	}
	
	public void setCode(String value) {
		this.code = value;
	}
	
	public String getValue() {
		return this.value;
	}
	
	public void setValue(String value) {
		this.value = value;
	}
	
	public Boolean getEnable() {
		return this.enable;
	}
	
	public void setEnable(Boolean value) {
		this.enable = value;
	}
	
	public String getNewValue() {
		return this.newValue;
	}
	
	public void setNewValue(String value) {
		this.newValue = value;
	}
	
	public Long getFunctionOptionId() {
		return this.functionOptionId;
	}
	
	public void setFunctionOptionId(Long value) {
		this.functionOptionId = value;
	}
	
    
	public FunctionOptionBase getFunctionOption() {
		return (FunctionOptionBase) this.getTransient("functionOption");
	}
	
	public void setFunctionOption(FunctionOptionBase value) {
		this.putTransient("functionOption",value);
	}
	
}
